/*=============================================================================

  SYSTEM MANAGER STATE DEFINITION

  FILE: SYSmgr_STATE.h
  
  DESCRIPTION

    Application Manager State Definition

  EXTERNALIZED FUNCTIONS

    
  Copyright (c) DaeSung Engineering Inc. All rights reserved.

=============================================================================*/
/*=============================================================================

                             EDIT HISTORY

  ---------  -------  -------------------------------------------------------
    when       who     what, where, why
  ---------  -------  -------------------------------------------------------
   06/28/03   nso4th   Version 0.1

=============================================================================*/

#ifndef _SYSMGR_STATE_H_
#define _SYSMGR_STATE_H_

/*=============================================================================
  HEADER INCLUSION
=============================================================================*/

/*=============================================================================
  CONSTANT DEFINITION
=============================================================================*/
#define STATE_INIT_STEP			(0x00)

/*=============================================================================
  STATE DEFINITION
=============================================================================*/
/*---------------------------------------------------------
  MAJOR STATE
---------------------------------------------------------*/
typedef enum
{
	NONE_S = 0x00,
	IDL_S,
	DEV_S,
	RESET_S,
	MANUAL_S,

	MAX_S = MGR_MAX_MAJSTATE
} SYSmgr_MajorState_e;

/*---------------------------------------------------------
  MINOR STATE
---------------------------------------------------------*/
// IDL STATE
typedef enum
{
	IDL_IDL_S = 0x00,
	IDL_ERR_S
} SYSmgr_IDL_State_e;

// DEVICE STATE
typedef enum
{
	DEV_IDL_S = 0x00,
	DEV_INIT_S,
	DEV_CLOSE_S,
	DEV_RESET_S
} SYSmgr_DEV_State_e;

// RESET STATE
typedef enum
{
	RESET_IDL_S = 0x00,
	RESET_RESET_S,
	RESET_HOME_S,
} SYSmgr_RESET_State_e;

// MANUAL STATE
typedef enum
{
	MANUAL_IDL_S = 0x00,
	MANUAL_AUTO_S,
	MANUAL_READ_S,
} SYSmgr_MANUAL_State_e;


/*=============================================================================
  STATE PROCDEFURE DEFINITION
=============================================================================*/
typedef enum
{
	DEVINIT_BASE = STATE_INIT_STEP,
	DEVINIT_MOD = DEVINIT_BASE,
	DEVINIT_HDIO,
	DEVINIT_HAIO,
	DEVINIT_HMOT,
	DEVINIT_HFG,
	DEVINIT_HCAM,
	DEVINIT_MAX
} SYSmgr_DevInit_Step_e;

typedef enum
{
	DEVCLOSE_BASE = STATE_INIT_STEP,
	DEVCLOSE_HCAM = DEVCLOSE_BASE,
	DEVCLOSE_HFG,
	DEVCLOSE_HMOT,
	DEVCLOSE_HAIO,
	DEVCLOSE_HDIO,
	DEVCLOSE_MOD,
	DEVCLOSE_MAX
} SYSmgr_DevClose_Step_e;

#endif /* _SYSMGR_STATE_H_ */


/*=============================================================================
  EXTERNALIZED FUNCTION DESCRPTIONS
=============================================================================*/
/*--- END OF SYSmgr_State.H ---*/
